From: Giovanni Campagna Date: Sun, 12 May 2013 17:41:21 +0000 (+0200) Subject: ScreenShield: clear the lock screen early when deactivating X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~4201 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=61fe000daaad5c4d9d7c1131d82ec30bd9f5583f;p=gnome-shell.git ScreenShield: clear the lock screen early when deactivating Upon popMode, MessageTray will try readding all notifications to their rightful parent, so we must tell NotificationBox to relinquish them before st_bin_set_child() fails (leaving a dangling child pointer and crashing at the next allocation) https://bugzilla.gnome.org/show_bug.cgi?id=698812 --- diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index d7e020b31..5b3ed9538 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -1115,6 +1115,9 @@ const ScreenShield = new Lang.Class({ deactivate: function(animate) { this._hideLockScreen(animate, 0); + if (this._hasLockScreen) + this._clearLockScreen(); + if (Main.sessionMode.currentMode == 'lock-screen') Main.sessionMode.popMode('lock-screen'); if (Main.sessionMode.currentMode == 'unlock-dialog') @@ -1131,9 +1134,6 @@ const ScreenShield = new Lang.Class({ }, _completeDeactivate: function() { - if (this._hasLockScreen) - this._clearLockScreen(); - if (this._dialog && !this._isGreeter) { this._dialog.destroy(); this._dialog = null;